template <typename T>
class MyStack {
private:
    vector<T> data;
public:
    void push(const T& item) {
        data.push_back(item);
    }
    void pop() {
        if (!empty()) {
            data.pop_back();
        }
    }
    T& top() {
        return data.back();
    }
    bool empty() const {
        return data.empty();
    }
    size_t size() const {
        return data.size();
    }
};
